axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net'

// 拦截器（请求 + 响应）
// 作用：axios 每一次的请求 ，响应都会先经过（执行）拦截器
// 干啥：将重复代码写入到拦截器中，提高代码复用性
axios.interceptors.request.use(
    (config) => {
        // Do something before request is sent
        // 在这处理token ==> 每一次发送请求前，在请求头上带

        // if (config.url.indexOf('/my') !== -1) {
        //     config.headers.Authorization = localStorage.getItem('token')
        // }

        // 换成字符串的 includes 方法来检测
        if (config.url.includes('/my')) {
            // 包含 /my  才有必要 做如下处理
            config.headers.Authorization = localStorage.getItem('token')
        }
        // console.log(config)
        return config
    },
    (error) => {
        // Do something with request error
        return Promise.reject(error)
    }
)

// 响应拦截器
axios.interceptors.response.use(
    (response) => {
        // Do something before response is sent
        // console.log(response)

        // 判断下 status message ，看是否认证失败 ==> 去登录界面
        if (
            response.data.status === 1 &&
            response.data.message === '身份认证失败！'
        ) {
            location.href = '/login.html'
        }

        return response
    },
    (error) => {
        // Do something with response error
        return Promise.reject(error)
    }
)
